Flash memories have been used in a variety of electronic applications. Flash memories can provide random access to stored data such as application programs. Data can be written to and read from flash memory cells many times. A typical flash memory cell is a modified MOS transistor with a stacked gate. The stacked gate comprises a control gate and a floating gate. The control gate is used to turn the transistor OFF and ON and to thereby control current flow from the drain to the source. The floating gate is placed between the control gate and the device channel. Charge can be injected into or out of the floating gate where it becomes trapped due to the isolation material that surrounds the floating gate. The threshold voltage of the flash transistor cell varies with the charge-state of the floating gate. Binary data values are stored in each flash cell based on the floating gate charge-state.
The process of charging or discharging the floating gate is called erasing or programming. Erasing or programming the flash cell requires that electrons overcome an energy barrier, such as caused by an oxide layer, between the floating gate electrode and the charge source. The energy level of the electrons is raised above this energy barrier value by forcing a relatively large voltage across the barrier. For example, the flash cell may be erased by injecting electrons from the floating gate into the control gate. The control gate is supplied with a large positive voltage while the floating gate is capacitively coupled to a low voltage or to a negative voltage. Similarly, the drain, the source, or the channel region of the device may be used to source or to sink electrons during programming and erasing.